﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DbSharp.Framework.CaseFile
{

    public class OutputSettingAttribute
    {
        public long ExportRecordCount { get; set; }
        public bool WrapStringByCDATA { get; set; }
    }


    /// <summary>
    /// IResultsetOutputSetting Interface 
    /// </summary>
    public interface IResultsetOutputSetting
    {
        /// <summary>
        /// readonly property 
        /// </summary>
        string OutputArgument { get; }

        /// <summary>
        /// readonly property 
        /// </summary>
        bool OutputAllOutArguments { get; }

        /// <summary>
        /// readonly property, if no output fields given, the value of IndicateOutputAllFields will be true
        /// </summary>
        bool IndicateOutputAllFields { get; }

        bool WrapStringByCDATA { get; set; }

        long ExportRecordCount { get; set; }
 

        void AddOutputFieldName(string fieldName, string outputName, string nullValuePlaceHolder);

        /// <summary>
        /// key: UpperCase fieldName 
        /// value: outputFieldName
        /// </summary>
        /// <returns></returns>
        Dictionary<string, string> GetFieldOutputNamePairs();


        /// <summary>
        /// key: UpperCase fieldName
        /// value: fieldNullValuePlaceHolder
        /// </summary>
        /// <returns></returns>
        Dictionary<string, string> GetFieldNullPlaceholderPairs();
           
    }
}
